package cn.edu.wfit.modules.learn.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import cn.edu.wfit.common.core.annotation.Excel;
import cn.edu.wfit.common.core.web.domain.BaseEntity;

/**
 * 学生任务记录对象 wfit_stu_case
 * 
 * @author ruoyi
 * @date 2025-07-18
 */
public class WfitStuCase extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 唯一标识，每条记录的ID */
    private Long id;

    /** 学生姓名 */
    @Excel(name = "学生姓名")
    private String stuName;

    /** 学生ID，关联到学生表的ID */
    @Excel(name = "学生ID，关联到学生表的ID")
    private String stuId;

    /** 任务ID，关联到任务表的id */
    @Excel(name = "任务ID，关联到任务表的id")
    private Long caseId;

    /** 完成结果上传地址，指向学生上传的任务结果 */
    @Excel(name = "完成结果上传地址，指向学生上传的任务结果")
    private String resultUrl;

    /** 审核情况（0: 审核中1: 不合格, 2: 已完成） */
    @Excel(name = "审核情况", readConverterExp = "0=:,审=核中1:,不=合格,,2=:,已=完成")
    private Long resultStatus;

    /** 删除标志（0: 存在, 2: 删除） */
    private String delFlag;

    /** 完成时间(审核成功之后的时间) */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完成时间(审核成功之后的时间)", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;


    private String resultContent;

    public String getResultContent() {
        return resultContent;
    }

    public void setResultContent(String resultContent) {
        this.resultContent = resultContent;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setStuId(String stuId)
    {
        this.stuId = stuId;
    }

    public String getStuId()
    {
        return stuId;
    }
    public void setCaseId(Long caseId) 
    {
        this.caseId = caseId;
    }

    public Long getCaseId() 
    {
        return caseId;
    }
    public void setResultUrl(String resultUrl) 
    {
        this.resultUrl = resultUrl;
    }

    public String getResultUrl() 
    {
        return resultUrl;
    }
    public void setResultStatus(Long resultStatus) 
    {
        this.resultStatus = resultStatus;
    }

    public Long getResultStatus() 
    {
        return resultStatus;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }

    public String getStuName() {
        return stuName;
    }

    public void setStuName(String stuName) {
        this.stuName = stuName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("stuId", getStuId())
            .append("caseId", getCaseId())
            .append("resultUrl", getResultUrl())
            .append("resultStatus", getResultStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("delFlag", getDelFlag())
            .append("endTime", getEndTime())
            .toString();
    }
}
